Cypress Semiconductor /psoc63 /DW0 /CH_STRUCT[1] /CH_CTL

Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text

Interpret as CH_CTL

31 2827 2423 2019 1615 1211 87 43 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (P)P0 (NS)NS 0 (B)B0PC0PRIO 0 (PREEMPTABLE)PREEMPTABLE 0 (ENABLED)ENABLED

Description

Channel control

Fields

P

User/privileged access control: ‘0’: user mode. ‘1’: privileged mode.

This field is set with the user/privileged access control of the transaction that writes this register; i.e. the ‘write data’ is ignored and instead the access control is inherited from the write transaction (note the field attributes should be HW:RW, SW:R).

All transactions for this channel use the P field for the user/privileged access control (‘hprot[1]’).

NS

Secure/on-secure access control: ‘0’: secure. ‘1’: non-secure.

This field is set with the secure/non-secure access control of the transaction that writes this register; i.e. the ‘write data’ is ignored and instead the access control is inherited from the write transaction (note the field attributes should be HW:RW, SW:R).

All transactions for this channel use the NS field for the secure/non-secure access control (‘hprot[4]’).

B

Non-bufferable/bufferable access control: ‘0’: non-bufferable. ‘1’: bufferable.

This field is used to indicate to an AMBA bridge that a write transaction can complete without waiting for the destination to accept the write transaction data.

All transactions for this channel uses the B field for the non-bufferable/bufferable access control (‘hprot[2]’).

PC

Protection context.

This field is set with the protection context of the transaction that writes this register; i.e. the ‘write data’ is ignored and instead the context is inherited from the write transaction (note the field attributes should be HW:RW, SW:R).

All transactions for this channel uses the PC field for the protection context.

PRIO

Channel priority: ‘0’: highest priority. ‘1’ ‘2’ ‘3’: lowest priority.

Channels with the same priority constitute a priority group. Priority decoding determines the highest priority pending channel. This channel is determined as follows. First, the highest priority group with pending channels is identified. Second, within this priority group, roundrobin arbitration is applied. Roundrobin arbitration (within a priority group) gives the highest priority to the lower channel indices (within the priority group).

PREEMPTABLE

Specifies if the channel is preemptable. ‘0’: Not preemptable. ‘1’: Preemptable. This field allows higher priority pending channels (from a higer priority group; i.e. an active channel can NOT be preempted by a pending channel in the same priority group) to preempt the active channel in between ‘single transfers’ (a 1D transfer consists out of X_COUNT single transfers; a 2D transfer consists out of X_COUNT*Y_COUNT single transfers). Preemption will NOT affect the pending status of channel. As a result, after completion of a higher priority activated channel, the current channel may be reactivated.

ENABLED

Channel enable: ‘0’: Disabled. The channel’s trigger is ignored and the channel cannot be made pending and therefore cannot be made active. If a pensding channel is disabled, the channel is made non pending. If the activate channel is disabled, the channel is de-activated (bus transactions are completed). ‘1’: Enabled.

SW sets this field to ‘1’ to enable a specific channel.

HW sets this field to ‘0’ on an error interrupt cause (the specific error is specified by CH_STATUS.INTR_CAUSE).

Links

() ()